<?php

$file_name = $HTTP_GET_VARS["file_name"];

if(strlen($file_name) != 0) {
   if(strstr($file_name, ".php") != null)
      die("bad file type...");

   $fp = fopen($file_base . $file_name, "r");

   $dat = "";

   while(($buffer = fgets($fp, 1024)) != null) {
      $dat = $dat . $buffer;
   }

   fclose($fp);

   $data = $dat;

}
else {
   $file_name = "index.html";

   $fp = fopen($file_base . $file_name, "r");

   $dat = "";
 
   while(($buffer = fgets($fp, 1024)) != null) {
      $dat = $dat . $buffer;
   }

   fclose($fp);

   $data = $dat;
}
 
php?>
<HTML>
<HEAD>
<TITLE>
Phebe C.M.S. 
</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function on_submit() {
   return true;
}

function on_new_page() {
   document.form1.data.value = "<H1>New page...</H1>";
}

function on_refresh() {
   document.location = "/cms.php?file_name=" + document.form1.file_name.value;
}

</SCRIPT>
</HEAD>
<BODY BGCOLOR="WHITE">

<H2>Phoebe Content Management System</H2>

<A HREF="http://phoebe.dns2go.com/">View Web Site</A><BR><BR>

<TABLE BORDER="1">
<TR>
<TD VALIGN="TOP">
Add new page:
<FORM METHOD="GET" ACTION="/new_file.php" NAME="form2" onSubmit="on_submit()">
New Fiile: <INPUT TYPE="TEXT" SIZE="20" NAME="file_name"><BR>
Password: <INPUT TYPE="PASSWORD" NAME="pass"><BR>
<INPUT TYPE="SUBMIT" VALUE="Create File"> * <INPUT TYPE="RESET" VALUE="Reset">
</FORM>
</TD>
<TD VALIGN="TOP">
Add new file:
<FORM METHOD="POST" ACTION="/cgi-bin/file_upload.cgi" ENCTYPE="multipart/form-data">
File To Upload: <INPUT TYPE=FILE NAME=dataFile SIZE=20><BR>
Password: <INPUT TYPE="PASSWORD" NAME="pass" SIZE=20><BR>
<INPUT TYPE=SUBMIT> * <INPUT TYPE=RESET>
</FORM>
</TD>
</TR>
</TABLE>
<BR>
<TABLE BORDER="1">
<TR>
<TD VALIGN="TOP">
Current Web Pages:
<BR>
<?php

system("ls -1 *.html > filelist.txt");

$fp = fopen("filelist.txt", "r");

while(($buffer = fgets($fp, 1024)) != null) {

php?>

<A HREF="/cms.php?file_name=<?= $buffer ?>"><?= $buffer ?></A><BR>

<?php

}

fclose($fp);

define( "ESCAPE_MODE_DOUBLE", 1 );
define( "ESCAPE_MODE_SINGLE", 2 );

function prepareJsStringLiteral( $stringLiteral, $mode )
{
    switch ( $mode )
    {
        case ESCAPE_MODE_DOUBLE:
                $searches = array( '"', "\n" );
                $replacements = array( '\\"', "\\n\"\n\t+\"" );
                break;
        case ESCAPE_MODE_SINGLE:
                $searches = array( "'", "\n" );
                $replacements = array( "\\'", "\\n'\n\t+'" );
                break;
    }
    return str_replace( $searches, $replacements, $stringLiteral );
}

php?>
</TD>
<TD>
<FORM METHOD="POST" ACTION="/post.php" NAME="form1" onSubmit="on_submit()">
Web Page Name: <BR>
<INPUT TYPE="TEXT" NAME="file_name" VALUE="<?= $file_name ?>">
<INPUT TYPE="BUTTON" onClick="on_refresh()" VALUE="Edit Page"><BR>
<BR>
Password: <INPUT TYPE="PASSWORD" NAME="pass"><BR>
</TD>
</TR>
</TABLE>
<BR>
<TABLE BORDER="1">
<TR>
<TD> 
Web Page:
<SCRIPT LANGUAGE="JavaScript">
function show_code() {
   oDiv.innerHTML = prepareJsStringLiteral("<TEXTAREA NAME=\"data\" COLS=\"80\" ROWS=\"40\">" . htmlentities($data) . "</TEXTAREA>", ESCAPE_MODE_SINGLE);
}

function show_page() {
   oDiv.innerHTML = "<DIV ID=\"oPage\"></DIV>";
}
</SCRIPT>
<BR><BR>
<A HREF="javascript:show_code();">show code</A>
| <A HREF="javascript:show_page();">show page</A>
<BR><BR>
<P ALIGN="LEFT">
<DIV ID="oDiv">
<TEXTAREA NAME="data" COLS="80" ROWS="40"><?= $data ?></TEXTAREA>
</DIV>
</P>
<BR>
<INPUT TYPE="SUBMIT" VALUE="Save Web Page"> * <INPUT TYPE="RESET" NAME="Reset"><BR>
</FORM>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
